#ifndef __ECHO_TO_UI_H_FILE_8234823__
#define __ECHO_TO_UI_H_FILE_8234823__

#ifdef WIN32
#pragma warning(disable:4786)
#endif

#include <string>
#include "OSHeaders.h"
#include "MyAssert.h"

using namespace std;
class CChannel;
class CEchoInfoToUI
{
public:
	CEchoInfoToUI()
	{
		m_pChannel = NULL;
		m_UpdatePeerListInterval = 5;
	}
	void Init(CChannel *pChannel)
	{ 
		Assert(pChannel != NULL);
		m_pChannel = pChannel; 
	}

	void ActiveUpdating();

private:
	void UpdatePeerList();
	void UpdateLocalBuffMap();
	void UpdateLocalInfo();
	void UpdateProgramInfo();

	string GetNadeTypeToString(UInt32 nNodeType);
	string GetNatTypeToString(UInt16 nNatType);		
		
private:
	CChannel	*m_pChannel;

	UInt32		m_UpdatePeerListInterval;
};

#endif
